package com.zmn.oms.services.interfaces.redistribute;


import com.zmn.oms.common.dio.redistribute.OrderWorkRedistributeApplyQuery;
import com.zmn.oms.model.entity.redistribute.OrderWorkRedistributeApply;

import java.util.List;

public interface OrderWorkRedistributeApplyService {

    OrderWorkRedistributeApply selectByPrimaryKey(Long id);

    List<OrderWorkRedistributeApply> listByQuery(OrderWorkRedistributeApplyQuery query);

    List<OrderWorkRedistributeApply> listByOrderIdListAndRedistributeStatus(List<Long> orderIdList, Integer redistributeStatus);

    List<OrderWorkRedistributeApply> listApplyForEngineerManager(OrderWorkRedistributeApplyQuery query);

    int countByQuery(OrderWorkRedistributeApplyQuery query);

    int countByQueryForEngineerManager(OrderWorkRedistributeApplyQuery query);

    int delete(Long id);

    int insert(OrderWorkRedistributeApply record);

    int updateByPrimaryKeySelective(OrderWorkRedistributeApply record);

    OrderWorkRedistributeApply selectByOrderIdAndWorkIdAndRedistributeStatus(Long orderId, Long workId, Integer code);

    OrderWorkRedistributeApply selectByOrderIdAndWorkIdAndRedistributeStatusSrcMaster(Long orderId, Long workId, Integer code);

    OrderWorkRedistributeApply selectByKeySrcMaster(Long redistributeId);
}